home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / s / snapstockv2.11.lha / SnapStock2.11 / SnapStock.DOC < prev    next >
Text File  |  1996-01-24  |  59KB  |  1,190 lines

  1.  
  2. SnapStock V 2.11
  3.  
  4. OVERVIEW
  5.  
  6. SnapStock is a full-featured charting, technical analysis and portfolio tracking
  7. system for the mutual fund and stock market.
  8.  
  9. This software is perhaps a little different from other charting and analysis 
  10. software you may know about. In particular, Snapstock has been designed to 
  11. perform cycle analysis on stock data, and it has an assortment of tools for this
  12. purpose. On the other hand, some of the features you may be used to from other 
  13. technical analysis programs might well be missing or implemented differently. Do
  14. not judge SnapStock harshly for being different! This is potentially powerful 
  15. software, and if properly used will reward you handsomely!
  16.  
  17.  
  18. PROGRAM HIGHLIGHTS
  19.  
  20. Here are just some of the features of SnapStock for the Amiga:
  21.  
  22. *Automatically track and chart hundreds or even thousands of stocks and mutual 
  23. funds, updating your chart files manually or automatically from the Genie 
  24. information service, Ingenius (available through many cable TV companies),
  25. Compuserve, or almost anywhere else using SnapStock's universal quotes reader.
  26.  
  27. *Multiple user portfolios may be tracked - reports and charts of your personal 
  28. investment portfolios are updated and displayed each time your stock files are 
  29. updated.
  30.  
  31. *Comprehensive performance report generated after each file update: For each 
  32. issue tracked: Percent gain or loss over the last week, month, 3 months, 6 
  33. months, 1 year, 2 years, 3 years, and 4 years. Performance statistics for your 
  34. personal portfolios are included in this report as well as in a separate
  35. portfolio report containing additional performance statistics. 
  36.  
  37. *"SnapShot" album holds a collection of charts for quick display. This album can
  38. even be animated - selectable speeds - for interesting motion studies of your 
  39. charts! SnapShot albums may be saved and reloaded.
  40.  
  41. *Chart issues "stacked" two per screen, or superimpose charts on top of each 
  42. other for detailed comparisons, in contrasting colors. Any screen may be 
  43. printed. Any missing dates in chart data may be interpolated.
  44.  
  45. *Statistics displayed along with each chart: Price scale and timeline, percent 
  46. scale showing change over period displayed, percent up from lowest point, 
  47. percent down from highest price, last recorded price. In addition, the data 
  48. associated with each point on the chart may be displayed by simply pointing to 
  49. it. This data may also be edited, right on the chart screen.
  50.  
  51. *Moving averages may be displayed as simple or centered, (centered MA's are more
  52. useful for cycle studies) with computer extrapolations displayed in an alternate
  53. color.
  54.  
  55. *Envelopes may also be centered or simple, with extrapolated data. Multiple 
  56. envelopes/averages may be superimposed.
  57.  
  58. *Inverse averages - for cycle or channel studies. Also centered/simple, with 
  59. extrapolations.
  60.  
  61. *Data Filter - selectable center frequency, bandwidth, upper and lower limits. 
  62. Extrapolated data extends filter response to present day. An MACD display is 
  63. possible as well.
  64.  
  65. *Scripting feature lets you automate complex functions. Ten scripts are mapped
  66. to function keys.
  67.  
  68. *Stock splits of any ratio can be automatically found and compensated for.
  69.  
  70. *User may place multiple trendlines or other marks on any chart.
  71.  
  72. *Import or Export plain ASCII data files for maximum compatibility with 
  73. other programs and data sources. 
  74.  
  75. *Auto error correction may be applied to any chart data file.
  76.  
  77. *Zoom in on any portion of a chart by simply dragging a box around it. Both wide
  78. and magnified views will be simultaneously displayed.
  79.  
  80. *Two date ranges available to store zoom dates.
  81.  
  82. *Choose from all (daily data), weekly or monthly chart displays.
  83.  
  84. *Automatically view, print or analyze groups of issues with "chart all" feature.
  85.  
  86. *All charts auto-range to fill chart space - or the chart scale may be locked, 
  87. or set to specific values.
  88.  
  89. *Graphic menu system displays and provides access to all chart parameters 
  90. simultaneously.
  91.  
  92.  
  93.  
  94. A LITTLE BIT ABOUT CYCLE ANALYSIS
  95.  
  96. I became interested in cycle analysis of stock market issues because of my
  97. electronics background, and some experience with radio and audio signals. In
  98. radio, I learned that any waveform, no matter how complex and random it may
  99. appear, may nonetheless be broken down into constituent sine waves - simple,
  100. regular waves of single frequencies. Any truly random waveform will contain
  101. proportionately equal amounts of ALL frequencies. If sine waves of particular
  102. frequencies dominate, the waveform is NOT random, and can be - to various
  103. degrees - predicted.
  104.  
  105. Cycle analysis is not one of the more widely practiced forms of technical 
  106. analysis. The reason for this, I believe, is that cycles are not so easy for an 
  107. average investor to interpret. Cycle investing also has adherents who would like
  108. to base trading cycles on astrology, Fibonacci numbers, political races or 
  109. "two downs and an up". Just for the record, SnapStock has nothing to do 
  110. with any of these things. I do not need anything other than mathematics to 
  111. generate my charts. However, since the reason for the existence of cycles in 
  112. stock data is still largely unexplained, feel free to use SnapStock for the 
  113. investigation of any theory you like.
  114.  
  115. The detractors out there consider that you can "find" cycles in random numbers 
  116. just by looking hard enough. There is actually a lot of truth to this. Choose 
  117. your issues carefully, as some will feature strong cyclical tendencies, and 
  118. others not. Chart the wrong one, and you may make a trade on a cycle that exists
  119. mostly in your mind. Remember that sine waves can be readily found in random 
  120. data as well as in non-random data. 
  121.  
  122. A full tutorial on cycle trading strategy would take quite a bit of space, so 
  123. check out the books mentioned at the end of my doc file.
  124.  
  125. Meanwhile, I'll try to explain bits and pieces as we go along.
  126.  
  127.  
  128.  
  129. COMPATIBILITY AND KNOWN BUGS
  130.  
  131. SnapStock is being developed on my A530 accellerated A500, where I have run it 
  132. under WB 1.3, 2.0, 2.1 and 3.1. I have not had the opportunity to test it with 
  133. an AGA machine. (Please write me and let me know how it's working for you!) 
  134. On Workbench 2.0+, you may get an error: "Cursor set out of bounds."In this 
  135. event, visit your PREFERENCES and set your SYSTEM DEFAULT FONT to an 8-point 
  136. or smaller font.
  137.  
  138. On a 68020+ Amiga, occasional GURUs due to privileged instruction violations
  139. are possible. (Sorry, I need a newer compiler!) Run a program such as DEGRADER
  140. to fix this. I am running DEGRADER with PRIVILEGED checked, and SnapStock has 
  141. been very stable and crash-free for me. In fact, if you put DEGRADER in your
  142. C or UTILITIES directory, SnapStock will AUTOMATICALLY set it up and run it.
  143.  
  144. If you have an accellerated machine you should not have any problem with 
  145. SnapStock's speed. With a slower Amiga, you may! On a 68000-only Amiga, try
  146. setting the DATE FREQ to WEEKLY instead of ALL whenever possible. This will
  147. make SnapStock run up to four times faster when displaying large data files.
  148. For even more speed, load large chart files while set for WEEKLY or MONTHLY,
  149. and re-save them this way. You will lose your ability to display daily data 
  150. once you do this, however.
  151.  
  152. Non-accellerated and floppy-only users should also be aware that, beginning 
  153. with version 2, they will experience some long delays (up to 2-3 minutes) 
  154. when report files are loaded or updated. Sorry, but this is just the price of 
  155. progress.
  156.  
  157. If weirdness results when you should be seeing the file requester, you have
  158. run out of memory. SnapStock needs 1 meg to run, and at times (like when the 
  159. file requester comes up), it needs it all.
  160.  
  161.  
  162.  
  163. DISTRIBUTION OF SNAPSTOCK
  164.  
  165. I considered making SnapStock shareware, but didn't. If I wanted a commercial 
  166. program, I'd have to spend too much time adding things OTHER people want to 
  167. the program - I'd rather add the things _I_ want. Plus, I stand to make way 
  168. more money by USING the program than by waiting for shareware contributions!
  169. (Maybe if I'm forced to port SnapStock to IBM, I'll make THOSE users pay 
  170. instead!)
  171.  
  172. I would be pleased to receive mail/email from users who have used or would like 
  173. to use SnapStock, so that I may build my mailing list. This is almost as nice as
  174. getting money. (What software authors REALLY want is attention!) Feel free to 
  175. report bugs or suggest improvements. Keep in mind, however, that SnapStock is
  176. being written for ME - its purpose is to secure a retirement income for myself.
  177. If anyone else using SnapStock can improve their financial standing, however,
  178. this is a real plus - and I will be pleased to hear from you. 
  179.  
  180. You may distribute the program pretty much as you see fit... however, I retain 
  181. the copyright to SnapStock, so if you plan to make a profit (more than a couple 
  182. bucks) by selling it, I want a piece of it! In any event, you must keep 
  183. SnapStock, this doc file and all the associated files together and unchanged.
  184.  
  185. I am always working on SnapStock, so if you can't wait for the latest version to
  186. show up, send me a few dollars ($6 is reasonable for taking the trouble to copy
  187. and mail a disk) and I'll send you whichever version I have. Send $12 or $18 and
  188. I'll include an additional disk or two full of chart data, useful info or other
  189. SnapStock utilities.
  190.  
  191. Send To:
  192.  
  193. Dave Muse
  194. 22443 Leewright
  195. Southfield, MI 48034
  196.  
  197. I'm also on GENIE as D.MUSE  
  198.  
  199. EMAIL: D.MUSE@genie.com or dmuse@oeonline.com
  200.  
  201.  
  202. THE DISCLAIMER
  203.  
  204. You know why I have to do this. SnapStock is supplied AS-IS, for no cost, and is
  205. not guaranteed to perform any function whatsoever. Please doublecheck any 
  206. decisions you make using SnapStock, as I can not assert that this program is 
  207. accurate or bugproof. I am absolutely NOT RESPONSIBLE for any of your actions, 
  208. whether or not SnapStock or its associated documentation and utilities is 
  209. involved. If you lose all your money, look in the mirror. SnapStock is only an 
  210. imperfect tool - you are the one making the decisions!
  211.  
  212.  
  213. PROGRAM FUNCTIONS
  214.  
  215. Let's step through the various menu and keyboard commands in SnapStock.
  216.  
  217.  
  218. -CHART     You may click CHART on the graphic menu (to get a file requester) 
  219. or click on CHART on the bottom menu strip (no requester) or press "c" on the 
  220. keyboard. Enter the ticker symbol. SnapStock assumes the data file will be in
  221. the directory SNAPSTOCKCHARTS: is assigned to. If the file is elsewhere, use
  222. the file requester to specify its location. 
  223.  
  224. The charts are displayed with statistics across the top, a price scale to the 
  225. left, a percentage gain/loss scale on the right and a timeline on the bottom. As
  226. you move the mouse pointer across the chart, a continuously updated readout of 
  227. each data point is displayed underneath the timeline. When a lot of data is 
  228. involved, you may resolve points right next to each other by pushing the 
  229. left/right cursor keys. You may, in fact, edit any one of these data points by 
  230. pressing the backspace key, or add a new data point to the end by clicking 
  231. "Manual Update." Changes to your chart files made this way are not permanent
  232. until you click "SAVE". Make sure your DATE FREQ is set to ALL when editing
  233. and re-saving chart data. If it's set to WEEKLY, for example, saving your chart
  234. data will irrevocably convert your daily data into weekly data.
  235.  
  236. The top line tells you, first: the issue name. Second: what period and type 
  237. moving average or filter is selected. Third: what the last recorded price was. 
  238. Fourth: what percentage gain this last price represents over the lowest price 
  239. contained on this chart. Fifth: what percentage loss this same price represents 
  240. compared to the highest price recorded on this chart.
  241.  
  242. The percentage scale on the right side of the chart represents the percentage 
  243. gain/loss relative to the FIRST recorded price on the chart. To gauge 
  244. performance of your issue relative to specific dates, zoom in on the date range 
  245. you want (box it off with the mouse), then read the percentage off the scale 
  246. opposite the last point on the chart.
  247.  
  248. Finally, pressing the SPACE BAR will toggle the chart between a LINE or BAR 
  249. chart. The default, for a stock, is a bar chart. For a mutual fund, the 
  250. default is a line chart. 
  251.  
  252. Keyboard command: "c". SPACE toggles between line/bar chart.
  253.  
  254.  
  255. -CHART ALL    All the issues listed in your last quotes file ("LAST.PRF" is a
  256. copy of the last quotes file you updated your issues from) will be charted. 
  257. You may specify a continuous display, as fast as the program can draw them, or
  258. one that will pause every time two charts are displayed. All the parameters set
  259. on the menus will apply to all the charts displayed. You may even wish to 
  260. create Quotes files with specific sets of issues to chart - simply create a list 
  261. of ticker symbols, one per line, with any text editor. Load this file into 
  262. SnapStock with the "LOAD QUOTES" button. (You will get an error message about
  263. missing data when loading a list of names, but you can ignore it.)
  264.  
  265. After performing a CHART ALL or PRINT ALL, new reports are available. Click on
  266. PERFORMANCE report or PORTFOLIO report to see them. 
  267.  
  268. You can exit from chart all at any time by tapping the ESC key repeatedly.
  269.  
  270. Keyboard command: "g"
  271.  
  272.  
  273. -PRINT ALL    Like CHART ALL, but all your issues will be charted, then printed.
  274. Printing parameters are set from your regular workbench preferences. PRINT ALL 
  275. has one quirk... it likes to print charts in groups of two. If you have an ODD
  276. number of charts in your last quotes file, the last one won't print. It will be
  277. displayed on screen bottom after CHART ALL is done, however, so simply click
  278. PRINT to send it to the printer.
  279.  
  280. See PRINT for advice on the optimum setup for your printer.
  281.  
  282. Keyboard command: ALT-p
  283.  
  284.  
  285. -SAVE         Your chart file - whatever is in memory at the moment, 
  286. incorporating any changes you may have made - is re-written to the same file 
  287. name.  Beware! If you have just charted a date range that does not include all 
  288. the data in this chart file, you will permanently lose that portion of your data
  289. which is not in memory! Likewise, if you have "Weekly" selected as your date 
  290. frequency, you will lose the ability to display daily data if you re-save it 
  291. this way! 
  292.  
  293. Keyboard command: "*"
  294.  
  295.  
  296. -SAVE AS      Like SAVE, but you will get a file requester, and you may specify 
  297. a different name.  NOTE: You MUST use a one-to-five-letter, all-caps A-Z ticker 
  298. symbol for your chart names for full compatibility with SnapStock (and you 
  299. thought MS-DOS filenames were a pain!)  
  300.  
  301. Keyboard command: "&"
  302.  
  303.  
  304. -UPDATE ALL   Updates all your data files with the latest prices. You will get a
  305. file requester. Specify the text file that contains your price quotes. At the 
  306. moment, SnapStock's quotes format should work with the one output by Ingenius 
  307. (formerly known as Xpress Xchange) and the format used by the GENIE information 
  308. service. Examples of these two formats are included - other formats you may have
  309. access to may be sufficiently close to one of these to be used - for example, 
  310. this format (using the ".XPR" extension) should work:
  311.  
  312. TICKER      MM/DD/YY     HIGH PRICE     LOW PRICE
  313.  
  314. The date field is optional, and SnapStock will use today's date if no other date
  315. is found. Dates in MM/DD format will have the current year added to them by the 
  316. program. The exact spacing between items is not critical. Even the exact 
  317. arrangement specified above is not critical - the date can actually appear
  318. anywhere on the line. The HIGH and LOW prices can occur in either order.
  319. Other numbers can exist on the line, as long as they appear AFTER the LOW
  320. and HIGH prices (they will be ignored by SnapStock.) The ticker symbol MUST be
  321. first on the line, however. Prices should include decimal points (not "1/8"
  322. style fractions). If other numbers appear on the line (other than the date)
  323. before the high and low, or the ticker symbol is not the first thing on the
  324. line, use the universal quotes reader instead (see below.) Your quotes file may
  325. also contain irrelevant lines, which SnapStock will ignore, AS LONG AS THE
  326. IRRELEVANT LINES CONTAIN NO NUMBERS. Snapstock, you may have surmised, is only
  327. interested in the high, low, date and ticker symbol. It does not store or use
  328. the volume, opening or closing prices, though this may change in a future 
  329. version.
  330.  
  331. Please add the extension ".GEN" to the file name of a GENIE format quote file,
  332. ".XPR" to one in the Xpress (Ingenius) format, and ".####" (explained below)
  333. when using the universal quotes reader. If the extension is missing, SnapStock
  334. will make the best guess it can.
  335.  
  336. SnapStock also contains a "universal" quotes reader, which is a little more work
  337. to use, but should be able to make some sense out of almost anything. I will
  338. use Compuserve's quotes format as an example. With the universal reader, you 
  339. will need to "pre-load" a list of issue names. If you continue updating from
  340. the same issues, you will NOT need to do this each time, as SnapStock will 
  341. carry over the names to subsequent updates (in the file LAST.PRF). Here's my 
  342. list, prepared by a text editor:
  343.  
  344. FDPMX
  345. AAPL
  346. IBM
  347. F
  348. FSVLX
  349.  
  350. Prior to selecting UPDATE ALL, I must load this list using the "LOAD QUOTES"
  351. button on the options panel. SnapStock will complain about missing data 
  352. (since there are no numbers), but I can safely ignore this error message. 
  353.  
  354. Next, I'll download my Quotes file. I log on to Compuserve's basic quotes,
  355. open a capture file, and request the quotes I want, IN THE SAME ORDER as
  356. the list I gave to SnapStock. My capture file is named "QUOTES.3577"
  357. (explained below.) This is the filename I will eventually specify when I click
  358. UPDATE ALL.
  359.  
  360. When I'm done on CIS, I may need to edit my capture file and delete numbers
  361. occurring on any OTHER line besides the actual quotes. (The program is smart
  362. enough to ignore lines that contain no numbers.) If any of the expected quotes
  363. were missing for some reason, I will insert the missing prices (yesterday's 
  364. prices or zeros are both okay.) Finally, the file extension is important. The 
  365. quotes file I present to SnapStock must end in a "." followed by four numbers, 
  366. which represent the column positions within each line where I will "snip" out 
  367. the data that I want. Basically, SnapStock wants the high price, low price, 
  368. and date. Here's an example line similar to a CIS quote:
  369.  
  370. APPLE COMPUTER CO          22651     45.775    44.525   45.600   0.740   8/23*
  371.                                   ^    ^         ^                          ^
  372.                                   |    |         |                          |
  373.                           COLUMN 35   HIGH      LOW                 COLUMN 77
  374.  
  375. By naming my quotes file "QUOTES.3577" I am telling SnapStock to begin reading
  376. at column 35 and stop reading at column 77. As long as the program sees the 
  377. HIGH and LOW prices it wants FIRST, the other numbers on the line won't confuse
  378. it. The HIGH and LOW prices, incidentally, can be in either order. The DATE, 
  379. in the format MM/DD or MM/DD/YY can occur anywhere on the line, even prior 
  380. to the high and low prices. I have set the line end at 77, however, because 
  381. the "*" CIS places after the date could confuse SnapStock. If the line
  382. positions cannot be set so as to capture dates, don't worry. SnapStock will
  383. then automatically assign the current date to all the quotes. Reading dates
  384. is more important when updating from multiple-day quotes, as with GENIE's
  385. format.                  
  386.  
  387. Since the GENIE format contains two days' worth of quotes, you will need to 
  388. update your files every two days. If you want to do it every day, SnapStock is 
  389. smart enough to throw out the date it already has (you will get error messages
  390. after your update, however, telling you which prices were thrown out.) Also, the
  391. GENIE quotes often list several classes of preferred stock under the same ticker
  392. symbol. At the moment, SnapStock will simply throw out the preferred stock and 
  393. perform updates from the common stock. You will need to edit your quotes file 
  394. (remove the preferred markings) if you wish this to be different.
  395.  
  396. If a chart data file is missing, or if SnapStock can't read it, a new chart file
  397. will be created during the update process. You will not be able to chart an
  398. issue until you have at least two data points - so you may get the "creating..."
  399. file message for two days when adding a new issue. IMPORTANT: pay attention 
  400. to your chart settings when doing an update. If you have a short date range set,
  401. you could wind up permanently truncating all your chart files! Make sure, as
  402. well, that your date frequency is set to ALL.  
  403.  
  404. If you plan to track LOTS of stocks or mutual funds (more than 1500, or 750 
  405. with GENIE's dual-date format), consider splitting them into several quotes 
  406. files. During updating, the whole quotes file is held in memory, and SnapStock
  407. has a limit of about 1500 lines for this file (1500 ACTIVE lines - many lines 
  408. not containing prices, in your quotes file, are thrown out - and don't count 
  409. toward the 1500 line limit.) Also, the report function is limited to 1500 
  410. issues, so updating in "chunks" will allow you to view or print a report for 
  411. each group of issues. Another space limitation is for the charts themselves. 
  412. SnapStock can chart up to 1500 data points (about 6 years of daily data per 
  413. issue.) You will need to start losing some data points (or re-save your 
  414. charts as WEEKLY data) once you've tracked your issues this long. 
  415.  
  416. If you usually update your files right after starting SnapStock, you may 
  417. appreciate the extended-selection update feature. Select SnapStock's icon,
  418. then hold down the shift key while double-clicking the icon for your quotes
  419. file. SnapStock will start, and immediately begin updating your chart files.
  420.  
  421. Keyboard command: "u"
  422.  
  423.  
  424. -MANUAL UPDATE  You will be asked for the HIGH, LOW, and DATE of the new data 
  425. point to be added to the issue already in memory. When you are done adding data 
  426. points, select SAVE. You might instead choose to prepare a text file in the 
  427. style of one of the quotes files that SnapStock reads, and perform an UPDATE ALL
  428. from it. IMPORTANT: Do not use MANUAL UPDATE for any of the issues you are
  429. tracking in a personal portfolio, as the prices will not be recorded in your
  430. portfolio chart files, performance report or portfolio report. SAVE updates the
  431. issue's chart file only.
  432.  
  433. -MOVING AVERAGE  The moving average is one of the most basic tools of the chart 
  434. technician, and SnapStock incorporates several variations. While the most common
  435. moving average, SIMPLE, is available, the default in SnapStock is the CENTERED 
  436. average, which is more useful for cycle analysis. To switch between average 
  437. types, click on the M.AVERAGE button. 
  438.  
  439. If you will compare the two average types, you will note that the centered 
  440. average "lines up" better with the data, while the simple average is phase-
  441. shifted to the right. Since it is this very phase shift that generates buy and
  442. sell signals for many chartists, I have included it, though I would like to 
  443. point out that it is the cyclic nature of stock prices (IMHO) that makes this
  444. trick work!
  445.   
  446. Now, notice that the centered average is drawn in two colors. The center color 
  447. is the portion of the average drawn accurately from the data. The end colors are
  448. parts of the average drawn from insufficient data for 100% accuracy, and should 
  449. be viewed "with a grain of salt". View it as if it were made of rubber, firmly 
  450. attached at the left side but loose on the right side. The further along toward 
  451. the average end we get, the greater the potential for error. (Though the method 
  452. used to extrapolate the average here should work pretty well.) 
  453.  
  454. To change the MA value, click in the box with the number over the M.AVERAGE 
  455. button. Type in your value - in data points - and hit enter. When set for ALL 
  456. data, 15 points means three weeks (5 data points per week.) When using WEEKLY
  457. data, 3 points equal three weeks. 
  458.  
  459. The INVERTED moving average is also somewhat peculiar to cycle analysis. With 
  460. this selected (click [I]nvert on the bottom menu strip) the average is "streched
  461. taut" across the center of the screen, and the data is displayed relative to it.
  462. This is useful for generating buy/sell signals based on the amount of deviation 
  463. from the average. Keep in mind that you will only be seeing cycles SHORTER in 
  464. period than the moving average (all added together, of course, so distinguishing
  465. between frequencies is not straightforward.) 
  466.  
  467. Incidentally, when you look at an UNinverted moving average by itself, you are
  468. seeing the sum of all cycles LONGER than the period selected. To view a moving
  469. average by itself, press "d". This will suppress the data plot on subsequent
  470. charts, leaving only the MA. Press "d" again to re-enable data plots. Press
  471. "m" to do the opposite - suppress the MA, leaving only the data plot.
  472.  
  473. NOTE: if you ask SnapStock to generate a moving average without enough data 
  474. points in your chart file, the program will shorten the period of the MA by 
  475. whatever amount it has to in order to draw a chart. Look at the status line over
  476. the chart to see what length moving average SnapStock gave you.
  477.  
  478. Keyboard commands: "n" changes average types. "m" suppresses the moving 
  479. average. "d" suppresses the data itself, so only the moving average is drawn.
  480. "i" selects/deselects an inverted moving average. ALT-m lets you enter a new
  481. MA value (while the option menu is displayed.)
  482.  
  483.  
  484.  
  485. -ENVELOPE  The envelope display is really just another variation on the moving 
  486. average. An M.A. is drawn both above and below the data, "enclosing" it. In this 
  487. way, much like the inverted moving average discussed earlier, the degree of 
  488. excursion from the center of the "track" can be evaluated. For an envelope 
  489. display, press the M.AVERAGE button until C-ENVE or S-ENVE is displayed. These
  490. represent a centered envelope or simple envelope, respectively.
  491.  
  492.  
  493.  
  494. -FILTER    The FILTER output is nothing more than the difference between two 
  495. moving averages (one average displayed relative to the other). Any frequncies 
  496. between the two that exist in the data is displayed as a chart. We are 
  497. essentially "tuning" the data with the filter, like you might tune a radio, 
  498. looking for stations. A fair amount of experimenting with the filter will reveal
  499. which frequencies are worth looking at in a particular issue (now you know why 
  500. cycle study doesn't appeal to the average investor... too much work.) Click 
  501. FILTER on the bottom menu strip to engage or disengage filter mode. 
  502.  
  503. All the numbers in the filter boxes represent PERIODS (expressed in number of 
  504. data points), not numbers of cycles. The UPPER number should be higher than
  505. the LOWER number. Don't get these mixed up or the chart will be drawn upside
  506. down! Better still, use the CENTER and BANDWIDTH boxes instead (UPPER and LOWER
  507. will be set automatically.) Again, when set for ALL data, 5 points usually 
  508. represent one week, while 1 point represents one week when set for WEEKLY 
  509. display. When switching DATE FREQ, an approximate translation of the values in
  510. all the FILTER and M.AVERAGE boxes is done by SnapStock.
  511.  
  512. The CENTER box, as you might guess, is for the frequency you wish to look at. 
  513. The BANDWIDTH is the size of the window you're looking through, that is, how 
  514. many adjacent frequencies you are looking at as well. Usually, the bandwidth box
  515. should contain a generous number (I like to use a number about 50% to 100% of 
  516. the CENTER number) since price data cycles are never very precise.
  517.  
  518. The INVERSE average mode is automatically selected when the filter is engaged. 
  519. You may click this off - then click REDRAW - if you want to look at the two 
  520. averages plotted against the normal price grid. You will not be able to 
  521. permanently disable INVERT until the FILTER mode is exited.
  522.  
  523. The same extrapolated data used for our centered moving averages is necessary 
  524. here, as well. Remember that the very end of the filter plot (displayed in 
  525. another color) can be in error, especially on the filter plot, as TWO
  526. extrapolated averages are necessary. When making decisions, try to base them
  527. on the strength and regularity of past cycles more than on what the very
  528. end of the chart is telling you.
  529.  
  530. NOTE: when setting filter values, look at the numbers in the UPPER and LOWER
  531. boxes and make sure you have enough points of data in your chart file to compute
  532. the filter plot. If not, the program may give you an error, or generate an 
  533. inaccurate chart.
  534.  
  535. To plot something very much like the MACD indicator (Moving Average Convergence/
  536. Divergence), Set the DATE FREQ to ALL, UPPER value to 26, LOWER to 12, and 
  537. M.AVERAGE to SIMPLE. Chart your issue with FILTER ON, then turn ERASE OFF 
  538. (SHIFT-E.) Now click in the CENTER box, and type 28. Press lower-case "k"
  539. to rechart, then click REDRAW a couple times to get a different color for the
  540. signal line. This is not a true MACD, as we are using simple, not exponential
  541. averages. But it works all right nonetheless.
  542.  
  543.  
  544.   ********************************************************
  545.   *                                                      *
  546.   *      CAUTION!   CAUTION!   CAUTION!   CAUTION!       *
  547.   *                                                      *
  548.   *  SnapStock's FILTER charts will rarely show you the  *
  549.   *  exact moment of a price reversal. Your judgement is *
  550.   *  still crucial! The very end of the chart, the part  *
  551.   *  drawn in a different color, CANNOT be drawn in an   *
  552.   *  accurate manner, since a portion of the data needed *
  553.   *  to do this does not exist yet! You must learn to    *
  554.   *  interpret the chart... look at the regularity of    *
  555.   *  the cycles, and the degree of excursion from the    *
  556.   *  baseline to decide if a buy or sell should be made. *
  557.   *                                                      *
  558.   ********************************************************
  559.  
  560. Keyboard command: "f" selects/deselects filter mode. When the menu is displayed,
  561. ALT-n lets you enter a CENTER frequency, ALT-w enters BANDWIDTH, ALT-s is the
  562. lower bound, and ALT-t sets the upper bound.
  563.  
  564.  
  565. -FIND SPLIT     To correct your chart data (that is, make it readable again) 
  566. after a stock split has taken place, first ZOOM in on the part of the chart that
  567. contains the split. Then click on (or press on the keyboard) 2, 3, or 4 to 
  568. correct for a 2 to 1, 3 to 1 or 4 to 1 split. The data should reload from disk 
  569. with the split corrected. Examine the chart now. If the chart has been correctly
  570. adjusted, SAVE it to permanently correct the data file. If the adjustment 
  571. was not performed correctly, hit "k" to reload the old data (or "c" followed by 
  572. ENTER), and try again. 
  573.  
  574. The .5 button (5 on the keyboard) adjusts the chart the other way - that is, 1 
  575. for 2.  
  576.  
  577. Pressing "6" on the keyboard allows you to enter any split correction value. For
  578. instance, to adjust for a 3/2 split, press "6" and enter 1.5 (because 3/2=1.5).
  579. I sometimes use this feature to fix mutual funds that have just declared a 
  580. large distribution (which affects the NAV). If the share price goes down 10%, 
  581. I would enter 1.1 as my split fix value.
  582.  
  583.  
  584. Keyboard commands: 2, 3, 4, 5, 6
  585.  
  586.  
  587. -DATE RANGE     You may click in the BEGINNING and END date boxes to type the 
  588. start and end of the time period you wish to chart. In addition, selecting a 
  589. zoom range with the mouse - that is, by dragging a box around a portion of the 
  590. data, will automatically place dates in these boxes. Reset these boxes to very 
  591. early/late dates before editing your chart data or performing an update - 
  592. otherwise the shortened date ranges could permanently truncate your data files.
  593. The easiest way to reset the main date range is to hit "zz" on the keyboard.
  594.  
  595. Keyboard commands: (with the OPTION menu displayed) - ALT-b enters the START 
  596. date, and ALT-e enters the END date.
  597.  
  598. -ZOOM RANGE     Another set of dates which can be activated by clicking on the 
  599. ZOOM button. These dates are unaffected when a new date range is selected with 
  600. the mouse, and can be reselected by clicking on ZOOM again. A date range of 
  601. three months back from the present is set in this range when SnapStock is 
  602. started. This can be changed by clicking in these boxes, and entering new dates.
  603.  
  604. Keyboard commands: (with the OPTION menu displayed) - "," enters the ZOOM START
  605. date, and "." enters the ZOOM END DATE.
  606.  
  607.  
  608. -ZOOM           Clicking on the ZOOM button changes date ranges. You must 
  609. rechart ("c" followed by ENTER, or "k") to view the zoomed chart. To do a MOUSE 
  610. ZOOM, simply drag a box around part of the chart. The Previous chart will ascend
  611. to screen top, and your magnified view will appear on the bottom. The new dates 
  612. you have selected will appear in the top date range (select [O]ption to view the
  613. control panel.) To return to the widest possible view of your data (all dates), 
  614. drag a box around the ENTIRE chart - or, clicking ZOOM more than once will 
  615. restore the widest date range to the top date boxes. MOUSE ZOOM, incidentally,
  616. only works on screen bottom. You can not select a zoom range on a chart which
  617. has ascended to screen top.
  618.  
  619. Keyboard command: "z"
  620.  
  621.  
  622. -DATE FREQ      Clicking on this button will select, alternately, ALL, WEEKLY 
  623. or MONTHLY charts. When set to ALL, all data points in your chart file are 
  624. used, and is assumed by the program to be daily data. When set to WEEKLY or 
  625. MONTHLY, daily data will be summed according to the selected frequencies. Any
  626. missing weeks or months in your chart data files will be created when DATE FREQ
  627. is set for WEEKLY or MONTHLY. 
  628.  
  629. Keyboard command: ALT-a
  630.  
  631.  
  632. -PERFORMANCE REPORT   This button will bring up a report (updated only after 
  633. performing an UPDATE ALL or CHART ALL) which will display the percentage gain or
  634. loss of all the issues in your last quotes file. Performance is reported for the
  635. last week, month, 3 months, 6 months, 1 year, 2 years, 3 years, and 4 years.
  636. Color coding is designed to alert you quickly to unusual gains or losses in any
  637. of the issues you're tracking. Since these statistics are based on price data 
  638. only, no dividends, CG distributions etc. are considered - therefore the report
  639. is useful mainly as a comparison tool. This report can be viewed or printed. 
  640.  
  641. Color Code: GREEN: substantial gain. 
  642.             CYAN: significant gain. 
  643.             WHITE: small-to-average gain. 
  644.             YELLOW: small-to-average loss. 
  645.             MAGENTA: significant loss. 
  646.             RED: substantial loss.
  647.             
  648. The performance report won't list your issues or portfolios until 10 or 15 data
  649. points have accumulated in the associated chart files - so be patient right 
  650. after adding a new issue or portfolio.           
  651.  
  652. Keyboard command: Press "j" to view the report, or ALT-c to print it. Pressing
  653. "p" while viewing the report also sends it to the printer.
  654.  
  655.  
  656. -PORTFOLIO REPORT  Selecting this item will display a list of issues from your 
  657. portfolios along with the number of shares held, the dollar values of each of 
  658. your holdings, the latest share price, the $ change from the last portfolio 
  659. report, and the total value of each portfolio along with its change from your
  660. last report. A file (LAST.RPT) contains the report information which is carried
  661. over from day to day. Whenever you make changes to the portfolio information
  662. in SSTOCK.CFG, the CHANGE column of your next portfolio report may appear to 
  663. contain wrong information. The report will be back to normal the following day.
  664. If you ever have continuing problems with your portfolio or performance reports,
  665. or SnapStock reports that your SSTOCK.CFG file is corrupted, try deleting the
  666. LAST.RPT file. SnapStock will simply make it over again after your next update. 
  667.  
  668. Keyboard command: Press "v" to view the report, or ALT-v to print it. Pressing
  669. "p" while viewing it also sends it to the printer.
  670.  
  671.  
  672. -QUOTES REPORT  Your last quotes file (LAST.PRF) is simply a "cleaned up" copy
  673. of the last quotes file you updated issues from. Upon selecting this, you will
  674. see a list of your issues and associated price quotes. 
  675.  
  676. Keyboard command: Print "y" to view quotes, or ALT-y to print it. Pressing "p"
  677. while viewing will also send it to the printer.
  678.  
  679.  
  680.  
  681. -HELP             A keyboard reference guide will be displayed, showing the 
  682. functions assigned to various keys. In general, most of SnapStock's functions 
  683. can be selected from either a graphic menu or from the keyboard, though a few 
  684. are available in only one way. One difference: If a menu item calls a file 
  685. requester, its keyboard equivalent generally will not, asking instead for the 
  686. user to enter a filename and path. Floppy users may prefer this, as the wait for
  687. a list of files to display from your chart directory, with a hundred charts or 
  688. more, can be interminable.
  689.  
  690. Keyboard command: "HELP" key. 
  691.  
  692.  
  693. -LOAD QUOTES      A different quotes file may be loaded. The file "LAST.PRF"
  694. is normally loaded into memory at startup, and the file you load here will 
  695. replace it. LAST.PRF is just a copy of the quotes file used for your last 
  696. update, cleaned up (all irrelevant material removed). This file is used when a
  697. CHART ALL or PRINT ALL is performed, and also determines which issues are 
  698. included in the performance report. You can load a different one (a list of 
  699. ticker symbols is all you need) in order to generate a PRINT ALL or CHART ALL
  700. consisting of only the issues you want. The issue names in memory are also
  701. used with the universal quotes reader discussed earlier. CAUTION: do not trust
  702. your PERFORMANCE REPORT immediately after loading a new set of quotes names. 
  703. The NEW names will be paired with performance data from your LAST update - and
  704. may be in error. The report will be correct again once you have performed a
  705. CHART ALL, UPDATE ALL, or re-loaded LAST.PRF.  
  706.  
  707. Keyboard command: "l"
  708.  
  709.  
  710. -LOAD PORTFOLIO   A different portfolio setup file (in the style of SSTOCK.CFG)
  711. can be loaded. This feature is most useful if you have more than 1000 issues to
  712. track (500 issues when using GENIE's dual-date format), and you would like to 
  713. create portfolio chart files from different groups of stocks. Each .CFG file
  714. should be no larger than 1000 lines.
  715.  
  716. Keyboard command: ALT-l
  717.  
  718.  
  719. -SNAPSHOT         Clicking on [S]nap takes a "picture" of your chart and gives 
  720. it a number from 1 to 20. You can display your snapshots by pressing the up/down
  721. cursor keys, or clicking the FRAME arrows on the menu. Your snapshot album can 
  722. be animated as well. 
  723.  
  724. Try a frequency sweep: turn your filter ON and set CENTER: 33  BWIDTH: 33. Chart
  725. your issue, then click SNAPSHOT. Now increase CENTER by 10 (to 43), and hit "k" 
  726. to rechart. SNAPSHOT again. Repeat, incrementing your center frequency each time
  727. by 10 (for best results, increase your BWIDTH setting a little bit each time,
  728. too) until you have 10 snapshots.  
  729.  
  730. Now click PLAY on the menu to begin the animation loop. Can you spot cycles
  731. emerging from the noise? To slow down the playback, press a number key (1-9). 
  732. Click STOP (or any key on the keyboard) to stop playing. RW and FF on the menu 
  733. takes you to the start or end of your snapshot album. LOAD or SAVE lets you 
  734. retrieve or save your albums, though at the moment (without compression) the 
  735. filesizes will be rather large. CLEAR does as the name suggests - erases your 
  736. snapshot album.
  737.  
  738. The snapshot album holds up to 20 chart pictures, but you'll need 2mb of chip 
  739. memory to use it all. Snapshots are rather hungry for chip mem, I'm afraid. With
  740. 1mb of chip memory you should be able to store 12-14 snapshots. (Sorry, but hey,
  741. this ain't Deluxe Paint you know!)
  742.  
  743. Keyboard commands: "s" stores snapshots. "`" plays your album as an animation, 
  744. and stops playback. "DEL" clears your album. ALT-3 loads an album from disk. 
  745. ALT-4 saves your album to disk. CURSOR UP displays the next snapshot. CURSOR 
  746. DOWN displays the previous snapshot.
  747.  
  748.  
  749. -SCALE     Toggles between a FREE or LOCKED scale. When the scale is FREE, all 
  750. charts will auto range... that is, the highest price plotted will brush the top 
  751. of the box, and the lowest one, the bottom. When the scale is locked, the scale 
  752. can no longer be changed by plotting a new issue. You may even enter new high 
  753. and low values in the HI and LOW boxes, by clicking on them. The DEV box is for 
  754. the DEVIATION value, that is, the maximum amount the data deviates from the 
  755. moving average. Locking the scale and entering a new value here has an effect on
  756. the chart only when INVERT is selected.
  757.  
  758. Keyboard command: ALT-2
  759.  
  760.  
  761. -CLEAN     When CLEAN is ON, some types of errors that may be present in data 
  762. files can be automatically corrected: non-continuous dates, high or low price 
  763. values that are highly improbable, etc. I don't recommend turning this on unless
  764. you know you have a problem, because once in a while it will "correct" something
  765. that was just fine to start with. If you clean a chart file, then re-save it, 
  766. the corrections become a permanent part of that file. When an error has been
  767. corrected by CLEAN, an asterisk (*) will be displayed in the upper left corner 
  768. of the chart.
  769.  
  770. Keyboard command: ALT-o
  771.  
  772.  
  773. -REDRAW     Clicking REDRAW will draw the last chart again, without reloading 
  774. the data from disk or performing any new calculations. The one exception: if you
  775. select or unselect INVERT, clicking redraw will display the changed chart. For 
  776. any other changes you have selected on the menus, you must re-chart your data to
  777. see changes. If you repeatedly select REDRAW, you will cycle through several 
  778. different color choices for your chart. 
  779.  
  780. Keyboard command: "r"
  781.  
  782.  
  783. -ERASE       Clicking ERASE will, as you might expect, erase your chart. Typing 
  784. "E" on the keyboard (hold down SHIFT for a capital "E") will change erase MODES.
  785. With erase mode selected (default, ERASE appears in RED), all new charts will 
  786. erase old ones. With ERASE deselected (ERASE appears in GREEN), new charts 
  787. OVERLAY old ones. With erase mode OFF, you can chart additional MAs, envelopes, 
  788. or filter charts on top of each other for comparison purposes. (Hint: use REDRAW
  789. to change colors when overlaying charts.)
  790.  
  791. Keyboard commands: "e" erases the screen. "E" changes erase modes.
  792.  
  793.  
  794. -ASCEND      Selecting ASCEND will send your chart to the top of the screen, 
  795. where it will replace the OPTIONS panel (you can get OPTIONS back by clicking 
  796. "OPTIONS".) Ascending a chart is a good way to keep it handy for reference while
  797. you continue charting other issues.
  798.  
  799. Keyboard command: "a"
  800.  
  801.  
  802. -TRENDLINES   A classic charting tool, TRENDLINES are lines connecting three or 
  803. more lows (if the trend is UP) or three or more highs (if the trend is down). 
  804. When the price "breaks" the trendline, it's a very good sign of a reversal. To 
  805. draw trendlines or any other marks on the screen, position the pointer to the 
  806. start of your line and press "t". Now move the mouse to the end point of the 
  807. line and press "t" again. NOTE: The TRENDLINE feature will not work properly
  808. with INVERT or FILTER selected on the bottom menu. 
  809.  
  810. Keyboard command: "t"
  811.  
  812.  
  813. -OPTIONS      Clicking OPTIONS brings up the options panel (the main menu). 
  814.  
  815. Keyboard command: "o"
  816.  
  817.  
  818.  
  819. -EDIT    Press "BACKSPACE" to edit the data at any place on the chart you wish 
  820. to point to. You will be asked for the HIGH price, LOW price and DATE. Pressing 
  821. ENTER without typing new data will cause the previous data to be retained. If 
  822. the data points are too close together, the mouse may not have sufficient 
  823. resolution to "find" all the data points. In this case, use the LEFT and RIGHT 
  824. CURSOR keys to search for the data to change before pressing BACKSPACE. You must
  825. perform a SAVE to retain your changes. You should not edit data when zoomed in, 
  826. because your changes will be lost when you zoom back out (which you must do 
  827. before saving.)
  828.  
  829. Keyboard commands: CURSOR LEFT selects earlier dates. CURSOR RIGHT selects later 
  830. dates.  BACKSPACE begins editing.
  831.  
  832.  
  833. -RECHART    Pressing "K" (upper-case) will ascend your chart to screen top
  834. and rechart your issue, incorporating any new menu selections you may have 
  835. made, on screen bottom. You may also rechart your issue without ascending by 
  836. typing a lower-case "k"
  837.  
  838. Keyboard command: "k","K"
  839.  
  840.  
  841. -PRINT      Prints the screen. The GRAPHICDUMP program is called from your 
  842. Workbench, so any printer preferences set there apply. My own preferred settings
  843. (for my Laserjet-compatible printer): NEGATIVE image, VERTICAL aspect, shade
  844. GREY SCALE 1, threshhold 7, density 2.
  845.  
  846. Keyboard command: "p"
  847.  
  848.  
  849. -IMPORT     A chart data file, in ASCII format may be imported into SnapStock. 
  850. The format of this file must be - for each line:
  851.  
  852. (MM/DD/YY)    High price     Low price
  853.  
  854. OR:
  855.  
  856. (MM/DD/YY),High price,Low price
  857.  
  858.  
  859. with at least two spaces (or commas) separating the items. The order of lines 
  860. should proceed from earlier to later dates. Additional numbers, such as closing 
  861. price and volume may FOLLOW the date, high, and low, but they are not used, and 
  862. not imported by SnapStock (not yet). Selecting SAVE AS after importing will 
  863. create a chart file in SnapStock format, using a filename that you specify. If 
  864. the file to import has a file extension (like ".ascii" or ".txt") then clicking 
  865. SAVE (or typing "*") will save it to the SAME name WITHOUT the extension.
  866.  
  867. Keyboard command: "h"
  868.  
  869.  
  870. -EXPORT     Any chart file readable by SnapStock may be exported in ASCII (text)
  871. format. You will be prompted for a file name, and a text file will be created. 
  872. The data can be output as:
  873.  
  874. Date   High price   Low price
  875.  
  876. OR:
  877.  
  878. Date,High price,Low price
  879.  
  880.  
  881. This same file can be re-imported into SnapStock using the Import function. 
  882.  
  883. Keyboard command: "x"
  884.  
  885.  
  886. -ABOUT      You will see the opening title screen again, but with the version
  887. number above the name. About will do nothing if the opening title has just
  888. been displayed.
  889.  
  890. Keyboarf command: ALT-I
  891.  
  892.  
  893. -QUIT    Quits the program. You will be asked for a confirmation.
  894.  
  895. Keyboard command: "q"
  896.  
  897.  
  898. -RUN SCRIPT    You may load a script file, which will immediately execute. SnapStock
  899. will not make script files for you, but you can make them for yourself with a 
  900. text editor. The format looks a bit cryptic, but it's very simple. Each line of
  901. your script should contain one keyboard command, followed by a space and an
  902. optional argument (a filename, number or issue name, for example.) Here's an
  903. example script:
  904.  
  905. ! This script charts three years of CBU.
  906. º 1/1/91
  907. © 1/1/94
  908. c CBU
  909.  
  910. The odd symbols before the two dates above are the characters you get when you
  911. press ALT-b and ALT-e, respectively. ALT-b and ALT-e are the keyboard commands
  912. for setting the beginning and end dates of the main date range. "c" is the 
  913. keyboard command to chart, and CBU is the issue I'm charting. The first line, 
  914. preceded by "!" is a comment. The "0" on the last line tells SnapStock that 
  915. this is the end of the script. You can even load a script from a script (even 
  916. the SAME script that you are executing), though your scripts will not return 
  917. to execute beyond the "load script" command. All script filenames should end 
  918. with an ".SCT" file extension. 
  919.  
  920. Here's a complete list of SnapStock's keyboard commands which can be used
  921. in scripts:
  922.  
  923. a-ascend chart      c-chart issue       d-supress chart data
  924. e-erase chart       E-erase mode toggle f-filter mode toggle
  925. g-chart all issues  h-import            i-invert
  926. j-view performance  k-rechart           K-ascend, then rechart
  927. l-load quotes       m-suppress M.A.     n-change average type
  928. o-options menu      p-print screen      q-quit SnapStock
  929. r-redraw chart      s-snapshot          t-draw trendline
  930. u-auto update       v-view portfolio    x-export
  931. y-view quotes       z-select zoom range 2,3,4-adjust for 2,3,4 to 1 split
  932. 5-adj. 1 for 2 spl. 6-enter split value 0-indicates script end
  933. *-save chart        &-save chart as     ,-enter zoom begin date
  934. .-enter zoom end    <-rewind snapshots  >-fast forward snapshots
  935. SPACE - toggle line/bar charts          `-play snapshots
  936. +/- chart write protect enabled/disabled (portfolio charts are not protected)
  937. æ (ALT-a) change date freq.     º (ALT-b) enter begin date
  938. ç (ALT-c) Print perf. report    ð (ALT-d) enter deviation value
  939. © (ALT-e) enter end date        £ (ALT-l) Load portfolio
  940. ¸ (ALT-m) enter MA value        ­ (ALT-n) Filter center value
  941. ø (ALT-o) CLEAN on/off          ¶ (ALT-p) Print all charts
  942. å (ALT-q) Load/execute script   ® (ALT-r) Reset all values
  943. ß (ALT-s) filter lower value    þ (ALT-t) filter upper value
  944. µ (ALT-u) Manual update         ª (ALT-v) Print portfolio report
  945. ° (ALT-w) filter bandwidth      × (ALT-x) enter high
  946. ¤ (ALT-y) Print quotes          ± (ALT-z) enter low
  947. ¹ (ALT-1) Set TODAY'S date      ² (ALT-2) lock/unlock scale
  948. ³ (ALT-3) load snapshot album   ¢ (ALT-4) save snapshot album
  949. ¼ (ALT-5) print text/user input ½ (ALT-6) pause (if no number given, pauses 1 sec.)
  950. ¾ (ALT-7) enter a CLI command (use with caution - may crash SnapStock)
  951.  
  952. Use the "!" character for comments in your scripts. Note that you CAN NOT use 
  953. the "!" anywhere else in your scripts. It will always be interpreted as the 
  954. beginning of a comment.
  955.  
  956. In addition, you may refer to the issues listed in your QUOTES file by
  957. number, that is, "c 1" will chart the first issue listed, "c 2" the 
  958. second, and so on. "c +1" will chart whichever number is next. "c -4"
  959. charts whichever issue is listed four lines back from the most recently
  960. charted issue, and so forth. You may only use the "+" and "-" operators
  961. if you have been using numbers, and not chart names. "+1" charts the 
  962. first issue regardless of which chart you have just viewed, if you did
  963. not refer to that last chart by number. 
  964.  
  965. You may also use "+" and "-" to increment or decrement dates, moving
  966. averages and other program variables.
  967.  
  968. The write protect commands ("+" write protects, "-" write enables) are useful 
  969. in your scripts for building portfolio charts. (Portfolio charts are always 
  970. write enabled.) For example: prepare a .CFG file (in the style of SSTOCK.CFG) 
  971. that contains the portfolio you would like build a chart file of. Now, make a 
  972. quotes file that contains no dates, and zeros for all the prices.  From your 
  973. script, load the config file you made. Set write protect ON for your charts. 
  974. Set TODAY'S DATE (ALT-1) to the first date of the portfolio chart you wish to 
  975. make. Set the END DATE of SnapStock's main date range to the same date. Do an 
  976. UPDATE ALL from the quotes file you made. Increment TODAY'S DATE and the END 
  977. DATE, and repeat as many times as you need to to create the portfolio chart. 
  978. (Explanation: when SnapStock sees no date, it will pull the date from TODAY'S 
  979. DATE. When it sees zeros instead of prices, it pulls prices from your chart 
  980. files - whatever prices are recorded on the END DATE you specified above. 
  981. TODAY'S DATE and the END DATE prices are added to the portfolio charts with 
  982. each update.) A script that does exactly this is included with this 
  983. distribution.
  984.  
  985. The ALT-c and ALT-v script commands, which print reports, will print their 
  986. reports to disk if those commands are given with  filenames.
  987.  
  988. ALT-5, when used with a string of text, will print that text above the chart. 
  989. When used by itself, it will wait for user input, or at least a carriage 
  990. return before continuing. Any user input becomes the string applied to the 
  991. next command in the script... replacing any string that may have been 
  992. specified in your script for that command. Also, any of the other commands 
  993. (like CHART) that expect user input will pause the script for input if an 
  994. argument is not included in your script.
  995.  
  996. Take a look at the sample scripts for programming ideas.
  997.  
  998.  
  999. SNAPSTOCK ERROR MESSAGES
  1000.  
  1001. SnapStock's error messages are mostly self-explanatory, but here's a rundown
  1002. nonetheless:
  1003.  
  1004. -CURSOR SET OUT OF BOUNDS
  1005.  You are running WB 2.0 or later, and your system default text is not set
  1006.  to an 8-point or smaller font. Visit PREFERENCES and make it so.
  1007.  
  1008. -CAN'T FIND TITLE.SST
  1009. -NO LAST QUOTES FILE FOUND
  1010. -KEY SNAPSTOCK GRAPHIC FILES ARE MISSING!
  1011.  You'll get errors like these when SnapStock can't find its support files,
  1012.  which should be in the SUPPORT drawer, inside the directory you assigned 
  1013.  SNAPSTOCKCHARTS: to. You DID make this assign, didn't you?
  1014.  
  1015. -A FILE ERROR HAS OCCURRED
  1016.  This is a general purpose error you'll get anytime SnapStock has had a
  1017.  problem reading or processing a file.
  1018.  
  1019. -A FILTER ERROR HAS OCCURRED
  1020.  An error has occurred while generating a filter chart. Check the values in
  1021.  the UPPER and LOWER boxes, and make sure you have enough data points (days,
  1022.  weeks, months) to generate a chart.
  1023.  
  1024. -DATE ERROR: NO UPDATE PERFORMED
  1025.  A date already in your chart data has been encountered while auto-updating. 
  1026.  SnapStock will ignore duplicate dates, or any date earlier than the last
  1027.  date in your chart. You will get a whole string of these errors if you
  1028.  update from GENIE daily, since yesterday's quotes are repeated each day.
  1029.  
  1030. -ERRORS GENERATED WHILE UPDATING
  1031.  You will get a list of affected issues after doing an UPDATE ALL if any 
  1032.  errors occurred.
  1033.  
  1034. -AN ERROR OCCURRED WHILE TRYING TO INTERPRET YOUR QUOTES FILE
  1035.  There is a problem with the file you asked SnapStock to update your chart
  1036.  files from. Check that it has the right file extension (.XPR, .GEN, 
  1037.  or .####) and that the quotes format is correct.
  1038.  
  1039. -A FILE ERROR OCCURRED WHILE UPDATING (ISSUE) FROM (QUOTEFILE)
  1040.  If you get this message, your UPDATE ALL stopped at the issue mentioned
  1041.  because of a problem reading or writing a file. 
  1042.  
  1043. -DATA MISSING FROM FILE - PLEASE CHECK/DELETE ANY UNNECESSARY BLANK LINES
  1044.  The quotes file you just loaded either has no numbers in it, or else the
  1045.  first line of the file is a blank line. When you do an UPDATE ALL, your
  1046.  quotes file is automatically cleaned up before SnapStock loads it. When
  1047.  you use the LOAD QUOTES feature directly, however, the quotes file should
  1048.  be formatted properly to begin with. NOTE: You can also get this error when
  1049.  loading a list of ticker symbols for use with CHART ALL or the universal
  1050.  quotes reader - this is no cause for worry.
  1051.  
  1052. -ERRONEOUS OR MISSING CHART FILE
  1053.  SnapStock can't find your chart file, or it's corrupt.
  1054.  
  1055. -NOT ENOUGH MEMORY TO FINISH IMPORT
  1056.  Split your text import file into pieces, and you may be able to import
  1057.  them. A maximum of about 1500 data points may be imported.
  1058.  
  1059. -REQUESTED AVERAGE COULD NOT BE PERFORMED
  1060.  There are not enough data points in your chart file to generate the 
  1061.  moving average (or filter plot) you have requested.
  1062.  
  1063. -YOU MUST LOAD A QUOTES FILE TO USE THIS FEATURE
  1064.  Usually this means that LAST.PRF, the default quotes file, was missing
  1065.  at program startup - or the quotes file you tried to load didn't load
  1066.  successfully.
  1067.  
  1068. -REPORTS ARE AVAILABLE ONLY AFTER PERFORMING AN UPDATE ALL OR CHART ALL
  1069.  You can't see a report because SnapStock hasn't made one yet. Usually
  1070.  you will see the last report made, however, unless the file LAST.RPT is
  1071.  missing - in which case, you will get this error message.
  1072.  
  1073. -THE PORTFOLIO CONFIGURATION FILE SSTOCK.CFG IS EITHER MISSING OR CORRUPT
  1074.  If your SSTOCK.CFG file appears to be fine, and is in your SUPPORT 
  1075.  directory, then try deleting LAST.RPT. A corrupt LAST.RPT file could cause
  1076.  the error as well (it can be safely deleted, if you suspect it - SnapStock 
  1077.  will remake it.)
  1078.  
  1079. -CAN'T SNAPSHOT - CHIP MEMORY LOW
  1080.  Close any applications or windows on your workbench that may be using
  1081.  chip memory. 
  1082.  
  1083. -CANNOT SAVE THIS FILE
  1084.  A file system error is preventing SnapStock from saving or exporting the
  1085.  file.
  1086.  
  1087. -IS THE COMPUTER'S DATE CORRECT?
  1088.  A chart date later than the current date (reported by the computer) has
  1089.  been encountered. You won't get this error unless CLEAN mode is engaged.
  1090.  
  1091. -(ISSUE) is being created...
  1092.  A non-existant or corrupt chart file has been specified during an UPDATE
  1093.  ALL. You may get this message two days in a row when creating a new issue,
  1094.  as the issue cannot be charted until the file contains at least two data
  1095.  points. If the chart file was corrupt, some of the old data may have been
  1096.  saved (when possible) when creating the new chart file. Otherwise, the
  1097.  old chart file was erased.
  1098.  
  1099.  
  1100. SNAPSTOCK'S SUPPORT FILES
  1101.  
  1102. SnapStock uses two configuration files, two "carryover" files, a file 
  1103. requester program and three graphic files, in addition to the main program:
  1104.  
  1105. -Configuration:
  1106.  
  1107.  SSTOCK.CFG Holds your portfolio configurations. 
  1108.  SNAPSTOCK  Is an AMIGADOS script that's run by ICONX when SnapStock starts.
  1109.  
  1110.             Both these configuration files are described in detail in the 
  1111.             SETUP.DOC file.
  1112.  
  1113. -Carryover:
  1114.  
  1115.  LAST.PRF   This is the "last quotes" file. A clean copy of the last quotes
  1116.             you performed an update from is stored here.
  1117.  LAST.RPT   SnapStock stores the last reports you looked at in here. It's
  1118.             also used to carry over price information for all the issues in
  1119.             your portfolios, so that your portfolio chart files can be updated
  1120.             even when prices for all the constituent issues are not available.
  1121.                         
  1122. -Graphic:
  1123.  
  1124.  MENU.SST   The graphic OPTION menu.
  1125.  HELP.SST   The keyboard reminder screen you see upon pressing "HELP".
  1126.  TITLE.SST  The main title screen.
  1127.  
  1128. -File Requester:
  1129.  
  1130.  REQ.SST    This program pops up to help you choose files.
  1131.             
  1132. -The program:
  1133.  
  1134.  SSTOCK.EXE is the main program. The ICONX script "SnapStock" launches
  1135.             SSTOCK.EXE.
  1136.  
  1137. -The support files SSTOCK.CFG, LAST.PRF, LAST.RPT, MENU.SST, HELP.SST, 
  1138.  REQ.SST and TITLE.SST belong in the SUPPORT directory, inside CHARTS, the 
  1139.  one that SNAPSTOCKCHARTS: is assigned to. The files SNAPSTOCK and SSTOCK.EXE 
  1140.  can be in any directory, but they must be together. If you are using DEGRADER 
  1141.  (you must if you have a 68020+ processor), that program must be in your 
  1142.  C: or SYS:UTILITIES directory to be automatically used by SnapStock.
  1143.  
  1144.  
  1145. BIBLIOGRAPHY
  1146.  
  1147. Books which discuss cycle investing or technical analysis:
  1148.  
  1149. J.M Hurst: "The Profit Magic of Stock Transaction Timing". Prentice-Hall, 1970. 
  1150. My principal inspiration for SnapStock. Written before the age of the personal 
  1151. computer (or the calculator, for that matter). The author hired a team of people
  1152. to perform (on paper) the large volume of calculations needed to test his ideas!
  1153.  
  1154. Martin J. Pring: "Technical Analysis Explained". McGraw-Hill, 1991.
  1155.  
  1156. "How Charts Can Help You Spot Buy and Sell Signals in the Stock Market". 
  1157. Trendline, 1987. This is just a little pamphlet put out by the Trendline people,
  1158. a charting service.
  1159.  
  1160. Steven B. Achelis: "Technical Analysis From A to Z". Probus Publishing, 1995.
  1161.  
  1162. Norman G. Fosback: "Stock Market Logic". Institute for Econometric Research, 
  1163. 1986.
  1164.  
  1165. Only the first two books contain very much about cycle charting. The others are 
  1166. useful for learning about other aspects of technical analysis.
  1167.  
  1168.  
  1169. MORE FROM ME
  1170.  
  1171. I am not an investment "expert". I am not even really an expert programmer, 
  1172. though I have an interest in both of these areas. 
  1173.  
  1174. My goal in writing SnapStock is to personally experiment with what I feel are 
  1175. some intriguing underexplored areas of technical analysis. Don't forget, you 
  1176. can't make the most money by doing what everyone else does. After all, the
  1177. market IS precisely this - what everyone does.
  1178.  
  1179. If you haven't yet begun a serious program of saving and investing, please start
  1180. now, before you get a day older! If you're smart enough to spot an 
  1181. underappreciated bargain like the Amiga, you already have the instincts of a 
  1182. successful investor!
  1183.  
  1184. Here's the best argument for using SnapStock: It has easily paid for the cost of
  1185. my computer hobby - many times over! To those of you that need to justify the 
  1186. cost of your computer paraphernalia to your spouse, parents, or yourself: you 
  1187. need this program!
  1188.  
  1189.